/**
 * Created by ${PRODUCT_NAME}.
 * User: skyler
 * Date: 2/14/11
 * Time: 9:34 AM
 * To change this template use File | Settings | File Templates.
 */
package com.thoughtorigin.media {
import com.thoughtorigin.application.Disposable;

import flash.events.IEventDispatcher;

/**
 * This interface should handle playing any type of media
 * like sound or video
 */
public interface MediaPlayer extends IEventDispatcher, Disposable {
    function set url(value: String): void;
    function get url(): String;
    function play(): void;
    function stop(): void;
    function pause(): void;
    function resume(): void;
    function get duration(): Number;
    function get time(): Number;

    /**
     * seek time
     * @param value
     */
    function seek(value: Number): void;

    /**
     * value 0 - 1 (persent to
     * @param value
     */
    function set volume(value: Number): void;
    function get volume(): Number;

    function set autoPlay(value: Boolean): void;
    function get autoPlay(): Boolean;

    function set bufferTime(value: Number): void;
    function get bufferTime(): Number;
}
}
